/**
 * 
 */
package com.wolfpire.proms.service;

import com.wolfpire.proms.model.FeedBack;
import com.wolfpire.proms.model.FeedBackAudit;
import com.wolfpire.system.common.EasyuiPage;
import com.wolfpire.system.common.Page;
import com.wolfpire.system.common.base.service.IBaseHibernateService;
import com.wolfpire.system.model.User;

/**
 * 任务反馈业务层接口
 * @author lihd
 *
 */
public interface FeedBackService extends IBaseHibernateService<FeedBack, Long> {
	
	/**
	 * 逻辑删除
	 * @param id
	 */
	public void del(Long id);
	
	/**
	 * 任务反馈列表接口
	 * @param page				
	 * @param filterFeedBack	过滤条件
	 * @return
	 */
	public Page<FeedBack> setPageDataList(Page<FeedBack> page, FeedBack filterFeedBack);
	
	/**
	 * 获取任务反馈的所有信息
	 * @param id
	 * @return
	 */
	public FeedBack getFeedBackFullInfo(Long id);
	
	public void saveAudit(FeedBackAudit feedBackAudit);
	
	/**
	 * 回写到Task
	 * @param feedBack
	 */
	public void taskCallback(FeedBack feedBack);

	public void saveOrUpdate(FeedBack feedBack, User user);
	
	/**
	 * 任务反馈审核列表
	 * @param page
	 * @param filterFeedBack
	 * @return
	 */
	public Page<FeedBack> setPageDataAuditList(EasyuiPage<FeedBack> page,
			FeedBack filterFeedBack);
	/**
	 * 统计任务反馈的审核次数
	 * @param feedBackId
	 * @return
	 */
	public int countAudit(Long feedBackId);
	
	/**
	 * 保存反馈后，回写计划状态
	 * @param feedBack
	 */
	public void taskPlanCallback(FeedBack feedBack);
}
